package com.turnengine.client.global.registry;

import com.javabi.common.lang.ClassRegistry;
import com.turnengine.client.global.admin.command.ExecuteScript;
import com.turnengine.client.global.admin.command.Ping;
import com.turnengine.client.global.admin.command.SendEmail;
import com.turnengine.client.global.announcement.command.DeleteAnnouncement;
import com.turnengine.client.global.announcement.command.GetAnnouncementCount;
import com.turnengine.client.global.announcement.command.GetAnnouncementList;
import com.turnengine.client.global.announcement.command.PostAnnouncement;
import com.turnengine.client.global.command.IGlobalExecutableCommand;
import com.turnengine.client.global.error.command.GetCommandStackTrace;
import com.turnengine.client.global.error.command.GetCommandStackTraceList;
import com.turnengine.client.global.game.command.GetGameById;
import com.turnengine.client.global.game.command.GetGameByName;
import com.turnengine.client.global.game.command.GetGameDefinition;
import com.turnengine.client.global.game.command.GetGameDefinitions;
import com.turnengine.client.global.game.command.GetGameDefinitionsByGameName;
import com.turnengine.client.global.game.command.GetGameHostById;
import com.turnengine.client.global.game.command.GetGameHostByName;
import com.turnengine.client.global.game.command.GetGameHosts;
import com.turnengine.client.global.game.command.GetGameInstanceById;
import com.turnengine.client.global.game.command.GetGameInstanceByName;
import com.turnengine.client.global.game.command.GetGameInstanceByNames;
import com.turnengine.client.global.game.command.GetGameInstances;
import com.turnengine.client.global.game.command.GetGameInstancesByGameName;
import com.turnengine.client.global.game.command.GetGameVersionById;
import com.turnengine.client.global.game.command.GetGameVersionByName;
import com.turnengine.client.global.game.command.GetGameVersions;
import com.turnengine.client.global.game.command.GetGames;
import com.turnengine.client.global.game.command.NewGame;
import com.turnengine.client.global.game.command.NewGameHost;
import com.turnengine.client.global.game.command.NewGameInstance;
import com.turnengine.client.global.game.command.NewGameVersion;
import com.turnengine.client.global.game.command.ResetGame;
import com.turnengine.client.global.game.command.ShutdownGame;
import com.turnengine.client.global.game.command.StartupGame;
import com.turnengine.client.global.translation.command.GetTranslationById;
import com.turnengine.client.global.translation.command.GetTranslationByText;
import com.turnengine.client.global.translation.command.NewTranslation;
import com.turnengine.client.global.translation.command.SetTranslation;
import com.turnengine.client.global.user.command.AdminVerifyUser;
import com.turnengine.client.global.user.command.CountUsers;
import com.turnengine.client.global.user.command.GetUser;
import com.turnengine.client.global.user.command.GetUserByEmail;
import com.turnengine.client.global.user.command.GetUserById;
import com.turnengine.client.global.user.command.GetUserByLoginId;
import com.turnengine.client.global.user.command.GetUserByName;
import com.turnengine.client.global.user.command.GetUserNames;
import com.turnengine.client.global.user.command.LoginUser;
import com.turnengine.client.global.user.command.LogoutUser;
import com.turnengine.client.global.user.command.RenameUser;
import com.turnengine.client.global.user.command.SetSignupVerification;
import com.turnengine.client.global.user.command.SetUserAddress;
import com.turnengine.client.global.user.command.SetUserGamePermission;
import com.turnengine.client.global.user.command.SetUserLanguage;
import com.turnengine.client.global.user.command.SetUserPermission;
import com.turnengine.client.global.user.command.SignupUser;
import com.turnengine.client.global.user.command.VerifyUser;

/**
 * The I Global Executable Command Registry.
 */
public class IGlobalExecutableCommandRegistry extends ClassRegistry<IGlobalExecutableCommand> {

	/**
	 * Creates a new I Global Executable Command Registry.
	 */
	public IGlobalExecutableCommandRegistry() {
		register(Ping.class);
		register(SendEmail.class);
		register(ExecuteScript.class);
		register(PostAnnouncement.class);
		register(GetAnnouncementCount.class);
		register(GetAnnouncementList.class);
		register(DeleteAnnouncement.class);
		register(GetCommandStackTrace.class);
		register(GetCommandStackTraceList.class);
		register(NewGame.class);
		register(NewGameVersion.class);
		register(NewGameInstance.class);
		register(GetGameById.class);
		register(GetGameByName.class);
		register(GetGameVersionById.class);
		register(GetGameVersionByName.class);
		register(GetGameInstanceById.class);
		register(GetGameInstanceByName.class);
		register(GetGames.class);
		register(GetGameVersions.class);
		register(GetGameInstances.class);
		register(GetGameDefinitions.class);
		register(GetGameDefinition.class);
		register(StartupGame.class);
		register(ResetGame.class);
		register(ShutdownGame.class);
		register(NewGameHost.class);
		register(GetGameInstanceByNames.class);
		register(GetGameHostByName.class);
		register(GetGameHostById.class);
		register(GetGameHosts.class);
		register(GetGameInstancesByGameName.class);
		register(GetGameDefinitionsByGameName.class);
		register(NewTranslation.class);
		register(SetTranslation.class);
		register(GetTranslationById.class);
		register(GetTranslationByText.class);
		register(SignupUser.class);
		register(VerifyUser.class);
		register(SetUserAddress.class);
		register(LoginUser.class);
		register(RenameUser.class);
		register(LogoutUser.class);
		register(SetUserLanguage.class);
		register(GetUserById.class);
		register(GetUserByName.class);
		register(GetUserByEmail.class);
		register(GetUserByLoginId.class);
		register(CountUsers.class);
		register(AdminVerifyUser.class);
		register(SetUserPermission.class);
		register(SetUserGamePermission.class);
		register(SetSignupVerification.class);
		register(GetUser.class);
		register(GetUserNames.class);
	}
}
